//页面加载
$(function() {
	loadTestTask();
	init();
});
//页面初始化调用方法
function init() {
	var tableInit = new TableInit();
	tableInit.Init();
}
var TableInit = function() {
	var oTableInit = new Object();
	// 初始化Table
	oTableInit.Init = function() {
		tableInitTest = $('#testTaskTablesCX').bootstrapTable({
			url : '../../../testTask/getTestTaskList', // 请求后台的URL（*）
			method : "POST",
			contentType : "application/x-www-form-urlencoded",
			toolbar : "#toolbar",
			striped : true, // 是否显示行间隔色
			cache : false, // 是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
			pagination : true, // 是否显示分页（*）
			sortable : true, // 是否启用排序
			sortName : "CREATE_TIME",
			sortOrder : "DESC",
			checkboxHeader : false,// 是否显示表头的全选
			queryParamsType : "undefined", // 排序方式
			queryParams : oTableInit.queryParams,// 传递参数（*）
			sidePagination : "server", // 分页方式：client客户端分页，server服务端分页（*）
			pageNumber : 1, // 初始化加载第一页，默认第一页
			pageSize : 10, // 每页的记录行数（*）
			pageList : [ 10, 25, 50, 100 ], // 可供选择的每页的行数（*）
			search : false, // 是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
			strictSearch : true,
			showColumns : true, // 是否显示所有的列
			minimumCountColumns : 2, // 最少允许的列数
			clickToSelect : true, // 是否启用点击选中行
			height: 500,// 行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
			uniqueId : "id", // 每一行的唯一标识，一般为主键列
			showToggle : true, // 是否显示详细视图和列表视图的切换按钮
			cardView : false, // 是否显示详细视图
			detailView : false,
			singleSelect:true,
			onLoadSuccess:function(){
	            $('.bootstrap-table tr td').each(function () {
	                $(this).attr("title", $(this).text());
	                $(this).css("cursor", 'pointer');
	            });
	        },
			responseHandler : function(res) {
				return getTableData(res);
			}, // 是否显示父子表
			columns : [ {
				checkbox : true,
			}, {
				field : 'TASK_NAME',
				title : '测试任务名称'
			}, {
				field : 'DEP_NAME',
				title : '测试任务单位'
			}, {
				field : 'TEST_USER',
				title : '测试任务执行人'
			}, {
				field : 'TEST_START_TIME',
				title : '测试任务开始时间'
			}, {
				field : 'TEST_END_TIME',
				title : '测试任务结束时间'
			}, {
				title : '测试任务状态',
				field : 'TASK_STATUS',
			}, {
				field : 'RESULT',
				title : '测试结果'
			} ]
		});
	};
	// 得到查询的参数
	oTableInit.queryParams = function(params) {
		var temp = { // 这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的pageSize,
			// pageNumber, searchText, sortName, sortOrder
            pageNumber:params.pageNumber,  //这里this指的是表格对象的应用。
            pageSize:params.pageSize,
			sortName : params.sortName,
			sortOrder : params.sortOrder,
			taskName : $('#testTaskName').val(),
			startTime : $("#astsSysLogLoginTime input").val(),
			endTime : $("#astsSysLogEndTime input").val(),
			depId : $('#testTaskDepName').val()
		};
		return temp;
	};
	return oTableInit;
};
//页面加载时根据用户角色权限动态生成单位信息
function loadTestTask() {
	$.ajax({
		"url" : "../../../testTask/getTestTaskListDepName",
		"type" : "post",
		"success" : function(result) {
			if (result.flag == "0") {
				var depNames = result.content;
				addDep(depNames);
			} else {
				var content = "加载失败!";
				info(content);
			}
		},
		"error" : function() {
			var content = result.errorMsg;
			warning(content);
		}
	});
}
//点击测试任务详情按钮，弹出详情界面
function addTestTask(){
	if(tableInitTest.bootstrapTable('getSelections').length<=0){
		warning('请选择测试任务！');
		return;
	}
	BootstrapDialog.show({
		title: '测试任务详情',
		message: $("<form class='form-inline' style='height:500px;width:850px'></form>").load('taskDetail.html'),
		onshown: function() {
			updataDetailData(tableInitTest.bootstrapTable('getSelections')[0].ID);
		},
		buttons: [{
			icon: 'glyphicon glyphicon-check',
			label: '确定',
			cssClass: 'btn-primary',
			autospin: true,
			action: function(dialogRef) {
				dialogRef.close();
			}
		}]
	});
	
}
// 动态加载单位信息
function addDep(depNames) {
	var sli = '';
		sli += '<option value="">请选择</option>';
	if (depNames.length == 1) {
		sli += '<option value="' + depNames[0].depID + '">';
		sli += depNames[0].depName;
		sli += '</option>';
	} else {
		for (var i = 0; i < depNames.length; i++) {
			sli += '<option value="' + depNames[i].depID + '">';
			sli += depNames[i].depName;
			sli += '</option>';
		}
	}
	var $li = $(sli);
	$('#testTaskDepName').append($li);
}


function DoOnMsoNumberFormat(cell, row, col) {  
    var result = "";  
    if (row > 0 && col == 0)  
        result = "\\@";  
    return result;  
}

//报表导出
function taskExport(){
	if(tableInitTest.bootstrapTable('getData').length<=0){
		warning('没有数据！');
		return;
	}
	var taskName = $('#testTaskName').val();
	var startTime = $("#astsSysLogLoginTime input").val();
	var endTime = $("#astsSysLogEndTime input").val();
	var depId = $('#testTaskDepName').val();
	var params = "taskName="+taskName+"&startTime+"+startTime+"&endTime="+endTime+"&depId="+depId;
	window.location.href="../../../testTask/exportExcelForWeb.action?"+params;
}

//刷新显示测试任务详情的界面数据
function updataDetailData(id){
	$('#testTaskTablesDeltail').bootstrapTable({
		url : '../../../testTask/queryTestResultByTaskId',
		method : "POST",
		contentType : "application/x-www-form-urlencoded",
		striped : true, // 是否显示行间隔色
		cache : false, // 是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
		sortable : true, // 是否启用排序
		sortName : "CREATE_TIME",
		sortOrder : "DESC",
		checkboxHeader : false,// 是否显示表头的全选
		queryParamsType : "undefined", // 排序方式
		queryParams: function (params) {
	        return {
	            taskId:id
	        };
	    },// 传递参数（*）
		sidePagination : "server", // 分页方式：client客户端分页，server服务端分页（*）
		search : false, // 是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
		strictSearch : true,
		showColumns : true, // 是否显示所有的列
		minimumCountColumns : 2, // 最少允许的列数
		clickToSelect : true, // 是否启用点击选中行
		height: 500,// 行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
		uniqueId : "id", // 每一行的唯一标识，一般为主键列
		showToggle : true, // 是否显示详细视图和列表视图的切换按钮
		cardView : false, // 是否显示详细视图
		detailView : false,
		singleSelect:true,
		responseHandler : function(res) {
			return getTableData(res);
		}, // 是否显示父子表
		columns : [ {
			checkbox : true,
		}, {
			field : 'SEQUENCE_NAME',
			title : '序列名称'
		},  {
			field : 'TEST_START_TIME',
			title : '开始时间'
		}, {
			field : 'TEST_END_TIME',
			title : '结束时间'
		}, {
			title : '测试结果',
			field : 'TEST_RESULT',
		}, {
			field : 'DESCRIBE',
			title : '序列描述'
		} ]
	});
}